<?php

namespace AdminBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * BaseDevice
 *
 * @ORM\Table(name="base_device", uniqueConstraints={@ORM\UniqueConstraint(name="imei_UNIQUE", columns={"imei"})})
 * @ORM\Entity(repositoryClass="AdminBundle\Repository\BaseDeviceRepository")
 */
class BaseDevice
{
    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=45, nullable=false)
     */
    private $name = '';

    /**
     * @var string
     *
     * @ORM\Column(name="imei", type="string", length=45, nullable=false)
     */
    private $imei = '';

    /**
     * @var string
     *
     * @ORM\Column(name="note", type="string", length=45, nullable=false)
     */
    private $note = '';

    /**
     * @var boolean
     *
     * @ORM\Column(name="is_enabled", type="boolean", nullable=false)
     */
    private $isEnabled = true;

    /**
     * @var string
     *
     * @ORM\Column(name="creator", type="string", length=45, nullable=false)
     */
    private $creator;

    /**
     * @var string
     *
     * @ORM\Column(name="ip", type="string", length=45, nullable=false)
     */
    private $ip = '';

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="ctime", type="datetime", nullable=false)
     */
    private $ctime = 'CURRENT_TIMESTAMP';

    /**
     * @var string
     *
     * @ORM\Column(name="manufacturer", type="string", length=45, nullable=false)
     */
    private $manufacturer = '';

    /**
     * @var string
     *
     * @ORM\Column(name="model", type="string", length=45, nullable=false)
     */
    private $model = '';

    /**
     * @var string
     *
     * @ORM\Column(name="os", type="string", length=45, nullable=false)
     */
    private $os = '';

    /**
     * @var string
     *
     * @ORM\Column(name="os_version", type="string", length=45, nullable=false)
     */
    private $osVersion = '';

    /**
     * @var string
     *
     * @ORM\Column(name="mac_id", type="string", length=45, nullable=false)
     */
    private $macId = '';

    /**
     * @var integer
     *
     * @ORM\Column(name="group_id", type="integer", nullable=false)
     */
    private $groupId = '0';

    /**
     * @var string
     *
     * @ORM\Column(name="group_name", type="string", length=45, nullable=false)
     */
    private $groupName = '';

    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;


    /**
     * Set name
     *
     * @param string $name
     *
     * @return BaseDevice
     */
    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    /**
     * Get name
     *
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set imei
     *
     * @param string $imei
     *
     * @return BaseDevice
     */
    public function setImei($imei)
    {
        $this->imei = $imei;

        return $this;
    }

    /**
     * Get imei
     *
     * @return string
     */
    public function getImei()
    {
        return $this->imei;
    }

    /**
     * Set note
     *
     * @param string $note
     *
     * @return BaseDevice
     */
    public function setNote($note)
    {
        $this->note = $note;

        return $this;
    }

    /**
     * Get note
     *
     * @return string
     */
    public function getNote()
    {
        return $this->note;
    }

    /**
     * Set isEnabled
     *
     * @param boolean $isEnabled
     *
     * @return BaseDevice
     */
    public function setIsEnabled($isEnabled)
    {
        $this->isEnabled = $isEnabled;

        return $this;
    }

    /**
     * Get isEnabled
     *
     * @return boolean
     */
    public function getIsEnabled()
    {
        return $this->isEnabled;
    }

    /**
     * Set creator
     *
     * @param string $creator
     *
     * @return BaseDevice
     */
    public function setCreator($creator)
    {
        $this->creator = $creator;

        return $this;
    }

    /**
     * Get creator
     *
     * @return string
     */
    public function getCreator()
    {
        return $this->creator;
    }

    /**
     * Set ip
     *
     * @param string $ip
     *
     * @return BaseDevice
     */
    public function setIp($ip)
    {
        $this->ip = $ip;

        return $this;
    }

    /**
     * Get ip
     *
     * @return string
     */
    public function getIp()
    {
        return $this->ip;
    }

    /**
     * Set ctime
     *
     * @param \DateTime $ctime
     *
     * @return BaseDevice
     */
    public function setCtime($ctime)
    {
        $this->ctime = $ctime;

        return $this;
    }

    /**
     * Get ctime
     *
     * @return \DateTime
     */
    public function getCtime()
    {
        return $this->ctime;
    }

    /**
     * Set manufacturer
     *
     * @param string $manufacturer
     *
     * @return BaseDevice
     */
    public function setManufacturer($manufacturer)
    {
        $this->manufacturer = $manufacturer;

        return $this;
    }

    /**
     * Get manufacturer
     *
     * @return string
     */
    public function getManufacturer()
    {
        return $this->manufacturer;
    }

    /**
     * Set model
     *
     * @param string $model
     *
     * @return BaseDevice
     */
    public function setModel($model)
    {
        $this->model = $model;

        return $this;
    }

    /**
     * Get model
     *
     * @return string
     */
    public function getModel()
    {
        return $this->model;
    }

    /**
     * Set os
     *
     * @param string $os
     *
     * @return BaseDevice
     */
    public function setOs($os)
    {
        $this->os = $os;

        return $this;
    }

    /**
     * Get os
     *
     * @return string
     */
    public function getOs()
    {
        return $this->os;
    }

    /**
     * Set osVersion
     *
     * @param string $osVersion
     *
     * @return BaseDevice
     */
    public function setOsVersion($osVersion)
    {
        $this->osVersion = $osVersion;

        return $this;
    }

    /**
     * Get osVersion
     *
     * @return string
     */
    public function getOsVersion()
    {
        return $this->osVersion;
    }

    /**
     * Set macId
     *
     * @param string $macId
     *
     * @return BaseDevice
     */
    public function setMacId($macId)
    {
        $this->macId = $macId;

        return $this;
    }

    /**
     * Get macId
     *
     * @return string
     */
    public function getMacId()
    {
        return $this->macId;
    }

    /**
     * Set groupId
     *
     * @param integer $groupId
     *
     * @return BaseDevice
     */
    public function setGroupId($groupId)
    {
        $this->groupId = $groupId;

        return $this;
    }

    /**
     * Get $groupId
     *
     * @return integer
     */
    public function getGroupId()
    {
        return $this->groupId;
    }

    /**
     * Set groupName
     *
     * @param string $groupName
     *
     * @return BaseDevice
     */
    public function setGroupName($groupName)
    {
        $this->groupName = $groupName;

        return $this;
    }

    /**
     * Get groupName
     *
     * @return string
     */
    public function getGroupName()
    {
        return $this->groupName;
    }

    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }
}
